var e = getApp();
const {
  getAddress
} = require('../../common/api/send')
const api = require('../../common/utils/request.js')

Component({
  properties: {
    show: {
      value: false,
      type: Boolean
    },
  },

  data: {
    columns: [{
        values: [],
        className: 'province'
      },
      {
        values: [],
        className: 'city'
      }
    ],
    rawData: []
  },
  ready: function () {
    console.log(this.data.columns, 'columns')
    this.getList();
  },
  methods: {

    // 当第一列变化时更新第二列
    onChange(event) {
      const {
        picker,
        value,
        index
      } = event.detail;

      if (index === 0) {
        // 根据第一列的选择找到对应的数据
        const selectedItem = this.data.rawData.find(
          item => item.text === value[0]
        );

        if (selectedItem) {
          this.updateSecondColumn(selectedItem.children || []);
        }
      }
    },

    // 更新第二列数据
    updateSecondColumn(children) {
      this.setData({
        'columns[1].values': children.map(item => item.text)
      });
    },

    // 确认选择
    onConfirm(event) {
      const {
        value
      } = event.detail;
      console.log('选择的值:', value);
      // 这里可以处理选择后的逻辑
      this.triggerEvent("ok",value);
      this.setData({
        show: false
      })
    },

    // 取消选择
    onCancel() {
      console.log('取消选择');
      this.triggerEvent("closeShow");
      this.setData({
        show: false
      });
    },
    getList() {
      var _this = this;
      api.post(getAddress, {}).then(res => {
        //成功时回调函数
        console.log(res, '获取地址')
        if (res.errno == 0) {
          const data = res.data; // 假设返回的是数组格式数据
          this.setData({
            rawData: data
          });

          // 初始化第一列数据
          const firstColumn = data.map(item => item.text);
          this.setData({
            'columns[0].values': firstColumn
          });

          // 如果有默认选中项，可以初始化第二列
          if (data.length > 0) {
            this.updateSecondColumn(data[0].children || []);
          }
        }
      }).catch(err => {
        //失败时回调函数
        console.log(err)
      })

    },

    // popupSpecsbtn: function (t) {
    //   console.log(t);
    //   this.triggerEvent("closeShow");
    //   this.setData({
    //     show: false
    //   });
    // },
  }
});